From d92b0e7fca263e0671940d0d446c64e850ca595c Mon Sep 17 00:00:00 2001 From: Dario Faggioli Date: Fri, 7 Apr 2017 14:28:08 +0200 Subject: [PATCH] xen: sched: make sure a pCPU added to a pool runs the scheduler ASAP When a pCPU is added to a cpupool, the pool's scheduler should immediately run on it so, for instance, any runnable but not running vCPU can start executing there. This currently does not happen. Make it happen by raising the scheduler softirq directly from the function that sets up the new scheduler for the pCPU. Signed-off-by: Dario Faggioli Reviewed-by: George Dunlap --- xen/common/schedule.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/xen/common/schedule.c b/xen/common/schedule.c index 5b44a565e9..646f3d9f44 100644 --- a/xen/common/schedule.c +++ b/xen/common/schedule.c @@ -1823,6 +1823,9 @@ int schedule_cpu_switch(unsigned int cpu, struct cpupool *c) out: per_cpu(cpupool, cpu) = c; + /* When a cpu is added to a pool, trigger it to go pick up some work */ + if ( c != NULL ) + cpu_raise_softirq(cpu, SCHEDULE_SOFTIRQ); return 0; } -- 2.30.2